var moment = require('moment');

module.exports = function (sequelize, DataTypes) {
  var Event = sequelize.define('event', {
    uuid: {
      type: DataTypes.UUID,
      defaultValue: DataTypes.UUIDV4,
      primaryKey: true
    },
    name: {
      type: DataTypes.STRING(200)
    },
    sdate: {
      type: DataTypes.DATE,
      get: function () {
        return this.getDataValue('sdate') ? moment(this.getDataValue('sdate')).format('YYYY-MM-DD') : null;
      }
    },
    edate: {
      type: DataTypes.DATE,
      get: function () {
        return this.getDataValue('edate') ? moment(this.getDataValue('edate')).format('YYYY-MM-DD') : null;
      }
    },
    status: {
      type: DataTypes.BOOLEAN,
      defaultValue: 1,
      get: function () {
        return this.getDataValue('status') * 1;
      }
    },
    no: {
      type: DataTypes.INTEGER,
      defaultValue: 10000
    }
  }, {
    // 是否需要增加created_at、updated_at、deleted_at字段
    timestamps: true,
    underscored: true,
    // 设置paranoid为true（此种模式下，删除数据时不会进行物理删除，而是设置deleted_at为当前时间
    paranoid: true
  });

  return Event;
};

